package com.viewmode1;

import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.SavedStateHandle;
import androidx.lifecycle.ViewModel;

public class ScoreViewModel extends ViewModel {
    //    private MutableLiveData<Integer> teamA;
//    private MutableLiveData<Integer> teamB;
    static final String KEY_TEAM_A = "key_team_a";
    static final String KEY_TEAM_B = "key_team_b";
    private SavedStateHandle handle;

    //状态数据保存
    public ScoreViewModel(SavedStateHandle handle) {
        this.handle = handle;
    }

    public MutableLiveData<Integer> getTeamA() {
//        if (teamA == null) {
//            teamA = new MutableLiveData<>();
//            teamA.setValue(0);
//        }
//        return teamA;

        if (!handle.contains(KEY_TEAM_A)) {
            handle.set(KEY_TEAM_A, 0);
        }
        return handle.getLiveData(KEY_TEAM_A);
    }

    public MutableLiveData<Integer> getTeamB() {
//        if (teamB == null) {
//            teamB = new MutableLiveData<>();
//            teamB.setValue(0);
//        }
//        return teamB;

        if (!handle.contains(KEY_TEAM_B)) {
            handle.set(KEY_TEAM_B, 0);
        }
        return handle.getLiveData(KEY_TEAM_B);
    }

    public void addA(int n) {
//        teamA.setValue(teamA.getValue() + n);
        getTeamA().setValue(getTeamA().getValue() + n);
    }

    public void addB(int n) {
//        teamB.setValue(teamB.getValue() + n);
        getTeamB().setValue(getTeamB().getValue() + n);
    }

    public void reset() {
//        teamA.setValue(0);
//        teamB.setValue(0);
        getTeamA().setValue(0);
        getTeamB().setValue(0);
    }

//    public void addA1(){
//        teamA.setValue(teamA.getValue()+1);
//    }
//    public void addA2(){
//        teamA.setValue(teamA.getValue()+2);
//    }
//    public void addA3(){
//        teamA.setValue(teamA.getValue()+3);
//    }
//
//    public void addB1(){
//        teamB.setValue(teamB.getValue()+1);
//    }
//    public void addB2(){
//        teamB.setValue(teamB.getValue()+2);
//    }
//    public void addB3(){
//        teamB.setValue(teamB.getValue()+3);
//    }
}
